//
// Created by bjliuyong on 2021/7/3.
//

#ifndef GC_ARENA_H
#define GC_ARENA_H

#include "../../../../include/common.h"

// All classes in the virtual machine must be subclassed
// by one of the following allocation classes:
//
//
// For objects allocated in the C-heap (managed by: free & malloc).
// - CHeapObj
//
//
// For embedded objects.
// - ValueObj
//
// For classes used as name spaces.
// - AllStatic
//


class CHeapObj {
public:
    void* operator new(size_t size) throw();
    void  operator delete(void* p);
    void* new_array(size_t size);
};

#endif //GC_ARENA_H
